iT邦幫忙

2021 iThome 鐵人賽

DAY 3
0
Software Development

MYSQL-相關實務操作學習紀錄系列 第 3

Day.3 環境部署 - 從安裝開始 (GCP & Percona Mysql )

  • 分享至 

  • xImage
  •  

在以下環境搭建內容會示範如何從GCP部署機器(VM)至安裝Percona(mysql)的過程。

作業環境: macOS

  • Google Cloud Platform - 建VM (作業系統:ubuntu)
    • Percona Server - MySQL

1.google cloud註冊並設定帳戶資訊 (第一次使用有送免費金抵免額能使用!) 這邊基本上就填資料驗證跳過...

google cloud連結

2.建立一個自己的專案 EX: My-project
https://ithelp.ithome.com.tw/upload/images/20210801/20130880G4MzbPVDG0.png
3.左邊下拉清單選擇Compute Engine -> 點選 VM 執行個體 -> 建立執行執行個體 設定VM的名稱/機器設定/開機磁碟(這邊使用ubuntu18.04)-> 建立

完成後產生執行個體如下圖 EX: mysql-master
https://ithelp.ithome.com.tw/upload/images/20210801/20130880563awYEpgH.png

但這時我們還沒辦法直接透過(連線)SSH的gcloud指令去連線進入VM -> 先下載並設定Google Cloud SDK

  1. Install Google Cloud SDK & 照著官方文件 gcloud init 設定 (登入gmail 認證 )

Google Cloud SDK連結

  1. 連線 -> SSH下拉按鈕點選查看gcloud指令 -> 終端貼上指令進入機器
gcloud beta compute ssh --zone "asia-east1-a" "mysql-master" --project "my-test-320809"
  1. 成功進入VM畫面
    https://ithelp.ithome.com.tw/upload/images/20210801/20130880t48K0cHLiA.png

  2. 安裝percona server(Mysql5.7/ubuntu)
     
    參考官方文件步驟1~5連結:percona安裝官方文件

Installing Percona Server for MySQL from Percona apt repository

1.Install GnuPG, the GNU Privacy Guard:
$ sudo apt-get install gnupg2
2.Fetch the repository packages from Percona web:
$ wget https://repo.percona.com/apt/percona-release_latest.$(lsb_release -sc)_all.deb
3.Install the downloaded package with dpkg. To do that, run the following commands as root or with sudo:
$ sudo dpkg -i percona-release_latest.$(lsb_release -sc)_all.deb
4.Remember to update the local cache:
$ sudo apt-get update
5.After that you can install the server package:
$ sudo apt-get install percona-server-server-5.7

跑完mysql會安裝於以下預設路徑:

Files Location
設定檔配置 /etc/mysql/my.cnf
數據目錄 /var/lib/mysql
錯誤日誌 /var/log/mysql
  • 7.1 如需將Mysql數據轉換至指定路徑
1.關閉mysql服務(ubuntu安裝完無異常,mysql服務預設會啟動)
root@mysql-master:~# systemctl stop mysql

2.建立資料路徑
root@mysql-master:~# mkdir -p /mnt/mysql_data

3.複製數據庫文件夾至要變更的路徑下
root@mysql-master:~# cp -R /var/lib/mysql /mnt/mysql_data

4.編輯my.cnf設定檔文件(複製以下設定檔覆蓋原本的預設檔案內容)
root@mysql-master:~# vim /etc/mysql/my.cnf

my.cnf設定檔內容:

[client]
#mysql 客戶端連線服務端預設port
port=3306
socket=/mnt/mysql_data/mysql/mysql.sock
			
[mysqld]
#mysql使用socket方式登陸的sock檔案路徑
socket=/mnt/mysql_data/mysql/mysql.sock
#mysql 資料庫檔案所在目錄
datadir=/mnt/mysql_data/mysql
#錯誤日誌路徑
log-error=/var/log/mysql/error.log
#mysql服務端預設監聽port
port=3306
			
# 設定字符集utf8
character_set_server=utf8
    ----------------------以上內容------------------------
 << my.cnf檔用來設置Mysql全域參數初始化(EX:開啟功能or調整參數限制&作用),沒有設置會依照預設值運行 >>

5.更改目錄檔案的使用者權限
root@mysql-master:~# chown -R mysql:mysql /mnt/mysql_data/mysql

6.變更mysql 使用者的家目錄路徑(Linux)
root@mysql-master:~# usermod -d /mnt/mysql_data/mysql/ mysql

7.修改alias文件讓 MySQL 寫入新目錄
root@mysql-master:~# echo "alias /var/lib/mysql/ -> /mnt/mysql_data/mysql," >> /etc/apparmor.d/tunables/alias

8.重新加載配置文件
root@mysql-master:~# /etc/init.d/apparmor reload

9.啟動mysql服務
root@mysql-master:~# systemctl start mysql

10.同步驟8.確認服務是否正常啟動 Active: active (running) 狀態

8.ubuntu安裝後會自動啟動,確認狀態後就可以登入mysql(預設無密碼 直接Enter)

root@mysql-master:~# service mysql status
root@mysql-master:~# mysql -uroot -p

https://ithelp.ithome.com.tw/upload/images/20210801/20130880uSyx4KbsRz.png
到登入成功畫面後就代表完成啦~~

ps.在生產環境上藉由外接磁碟來放置mysql數據資料,設定在自建路徑上能方便在做資料庫維運時的作業系統更換或機器本身異常時方便數據能直接轉移至新機器上。


下集預告: 為何資料庫使用權限需要受到控制? DB管理者如何管理使用者權限~


上一篇
Day.2 選擇 - 關聯式與非關聯式 (SQL vs. NoSQL )
下一篇
Day.4 針對使用者做管理 - 權限管理&資安 (Power)
系列文
MYSQL-相關實務操作學習紀錄30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言